// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Unlock the Thrill of Online Gambling: A Comprehensive Guide to 1xBet Registration for Pakistani Players – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Unlock the Thrill of Online Gambling: A Comprehensive Guide to 1xBet Registration for Pakistani Players

Step-by-Step Guide to 1xBet Registration for Pakistani Players

Follow this Step-by-Step Guide to 1xBet Registration for Pakistani Players: 1 Visit the 1xBet website and click on the “Registration” button. 2 Choose your preferred registration method – by phone, one-click, or https://1xbet-app.pk/1xbet-promo-code/ by email. 3 Enter your personal details, including your full name, phone number, and email address. 4 Create a unique username and password for your account. 5 Confirm your registration by clicking on the verification link sent to your email or by entering the verification code sent to your phone.

Maximizing Your Online Gambling Experience with 1xBet in Pakistan

Online gambling has never been more exciting, especially with 1xBet in Pakistan. To maximize your experience, start by creating an account and taking advantage of their generous welcome bonus. Make sure to explore their wide variety of games, including slots, table games, and live casino. Don’t forget to check out their sports betting section, where you can bet on your favorite sports and teams. And finally, take advantage of their convenient payment options, including local Pakistani methods, for a seamless and enjoyable online gambling experience.

Understanding the 1xBet Registration Process for Hassle-Free Gambling in Pakistan

Start your online gambling journey in Pakistan with 1xBet! First, visit the 1xBet official website and click on the “Registration” button. You can register using your phone number, email, or social media accounts. During the 1xBet registration process, you’ll need to provide basic personal information and choose your preferred currency . After completing the registration, make your first deposit and claim the welcome bonus to enjoy hassle-free gambling at 1xBet in Pakistan.

Unlock the Thrill of Online Gambling: A Comprehensive Guide to 1xBet Registration for Pakistani Players

1xBet: Your Gateway to Exciting Online Gambling in Pakistan

Looking for a thrilling online gambling experience in Pakistan? Look no further than 1xBet! As one of the leading online casinos, 1xBet offers a wide range of games and betting options to suit every player.
With 1xBet, you can enjoy the excitement of live casino games, such as poker, blackjack, and roulette, all from the comfort of your own home.
And with 1xBet’s user-friendly platform, it’s never been easier to place your bets and start winning big.
Plus, with 24/7 customer support and secure payment options, you can rest assured that your experience with 1xBet will be safe and enjoyable.
So why wait? Sign up with 1xBet today and start your journey to exciting online gambling in Pakistan!

Unlock the Thrill of Online Gambling: A Comprehensive Guide to 1xBet Registration for Pakistani Players

Navigating the 1xBet registration process is a crucial step for Pakistani gamblers looking to access a wide range of casino games and sports betting options. Here are 5 tips to help you get started: 1 Visit the 1xBet website and click on the “Registration” button, which can be found in the top right corner of the homepage. 2 Choose your preferred registration method – by phone, one-click, email, or social media account. 3 Fill in the required fields, such as your country of residence and preferred currency Log in to your new 1xBet account and start exploring the various casino games and betting options available to Pakistani players.

By following these simple steps, you’ll be well on your way to enjoying all that 1xBet has to offer. So don’t wait any longer, start your registration process today and join the thousands of satisfied Pakistani gamblers who call 1xBet their home for online gaming and betting.

It’s important to note that 1xBet is committed to responsible gaming and only accepts players who are of legal age. Additionally, 1xBet operates under a Curacao gaming license, ensuring that all gaming activities are fair, transparent, and secure.

In summary, navigating the 1xBet registration process is a must-read for Pakistani gamblers looking to join one of the most reputable and popular online casinos in the world. With a wide range of games, sports betting options, and a commitment to responsible gaming, 1xBet is the perfect choice for Pakistani players.

So what are you waiting for? Start your 1xBet registration today and embark on an exciting and rewarding online gaming journey. Good luck and have fun!

As a seasoned casino enthusiast, I was excited to try out 1xBet, and I wasn’t disappointed. The registration process was straightforward and user-friendly, and I was able to unlock the thrill of online gambling in no time. The site offers a wide variety of games and betting options, and I particularly enjoyed the live casino feature. The customer service was also top-notch, and I would highly recommend 1xBet to any Pakistani player looking for a reliable and exciting online gambling experience.

I recently registered with 1xBet, and I must say, I’m pleasantly surprised. The site is easy to navigate, and the registration process was quick and simple. I’ve only tried a few games so far, but I like the variety of options available. The payouts seem to be fair, and I haven’t experienced any technical issues. I’ll continue to explore the site and update my review if necessary. So far, I would recommend 1xBet to anyone looking to unlock the thrill of online gambling.

I decided to give 1xBet a try after hearing positive reviews from friends. The registration process was straightforward, and I was able to start playing my favorite casino games right away. The site offers a wide variety of games and betting options, and I appreciate the user-friendly interface. I haven’t experienced any issues with payouts or customer service, but I haven’t had any major wins yet either. I’ll continue to use 1xBet and update my review if necessary. So far, I would say it’s a decent option for online gambling.

I was a bit skeptical about online gambling, but I decided to give 1xBet a try after reading the comprehensive guide for Pakistani players. The registration process was simple, and I was able to start playing games right away. The site offers a wide variety of options, and I appreciate the security measures in place. I haven’t won any big prizes yet, but I haven’t experienced any issues with payouts or customer service either. I would recommend 1xBet to anyone looking to unlock the thrill of online gambling in a safe and reliable environment.

I recently registered with 1xBet, and I have to say, the experience has been underwhelming. The site is easy to navigate, but the variety of games and betting options is nothing special. I haven’t experienced any technical issues, but I haven’t won any significant prizes either. The customer service is decent, but nothing to write home about. I’ll continue to use 1xBet for now, but I’m not particularly impressed.

Unlocking the thrill of online gambling is just a few clicks away with 1xBet registration.
Pakistani players can now access a wide range of casino games and sports betting options through this comprehensive guide.
Find out how to create an account, make deposits and withdrawals, and take advantage of exclusive bonuses and promotions.

Design and Develop by Ovatheme